//app.js


App({
  userData: {
    hasInfo: false,
    // 用户个人数据，清除缓存时不清除，退出时清除
    info: {},   // 个人信息
    // 用户系统数据，清除缓存时不清除
    // 系统信息
    system:{},  
     // 系统配置
    config: {
      latitude: null, // 纬度
      longitude: null, // 经度
    },
  },
  // 全局业务数据，清除缓存时清除
  globalData:{},

  onLaunch: function () {
    this.userData = wx.getStorageSync('userData')

    // 登录
    wx.login({
      success: (res) => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })

    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.userData.info = res.userInfo

              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })

    // 获取系统信息
    wx.getSystemInfo({
      success : (res) => {
        if (res) { this.userData.system = res }
      }
    })

    // 定位信息
    wx.getLocation({
      type: 'wgs84',
      success: (res) => {
        if (res) {
          this.userData.config.latitude = res.latitude // 纬度
          this.userData.config.longitude = res.longitude // 经度
        }
      }
    })
  },
})